home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 65.zip / BS1 part 65 / DevPac v3.02b.adf / include / intuition / screens.i < prev   
Text File  |  1991-11-20  |  5KB  |  157 lines

  1.     IFND    INTUITION_SCREENS_I
  2. INTUITION_SCREENS_I    SET    1
  3. **
  4. **    $Filename: intuition/screens.i $
  5. **    $Release: 1.3 $
  6. **
  7. **    
  8. **
  9. **    (C) Copyright 1987,1988 Commodore-Amiga, Inc.
  10. **        All Rights Reserved
  11. **
  12.  
  13.     IFND EXEC_TYPES_I
  14.     INCLUDE "exec/types.i"
  15.     ENDC
  16.  
  17.     IFND GRAPHICS_GFX_I
  18.     INCLUDE "graphics/gfx.i"
  19.     ENDC
  20.  
  21.     IFND GRAPHICS_CLIP_I
  22.     INCLUDE "graphics/clip.i"
  23.     ENDC
  24.  
  25.     IFND GRAPHICS_VIEW_I
  26.     INCLUDE "graphics/view.i"
  27.     ENDC
  28.  
  29.     IFND GRAPHICS_RASTPORT_I
  30.     INCLUDE "graphics/rastport.i"
  31.     ENDC
  32.  
  33.     IFND GRAPHICS_LAYERS_I
  34.     INCLUDE "graphics/layers.i"
  35.     ENDC
  36.  
  37. ; ======================================================================== 
  38. ; === Screen ============================================================= 
  39. ; ======================================================================== 
  40.  STRUCTURE Screen,0
  41.  
  42.     APTR sc_NextScreen        ; linked list of screens
  43.     APTR sc_FirstWindow        ; linked list Screen's Windows
  44.  
  45.     WORD sc_LeftEdge        ; parameters of the screen
  46.     WORD sc_TopEdge        ; parameters of the screen
  47.  
  48.     WORD sc_Width        ; null-terminated Title text
  49.     WORD sc_Height        ; for Windows without ScreenTitle
  50.  
  51.     WORD sc_MouseY        ; position relative to upper-left
  52.     WORD sc_MouseX        ; position relative to upper-left
  53.  
  54.     WORD sc_Flags        ; see definitions below
  55.  
  56.     APTR sc_Title
  57.     APTR sc_DefaultTitle
  58.  
  59.     ; Bar sizes for this Screen and all Window's in this Screen
  60.     BYTE sc_BarHeight
  61.     BYTE sc_BarVBorder
  62.     BYTE sc_BarHBorder
  63.     BYTE sc_MenuVBorder
  64.     BYTE sc_MenuHBorder
  65.     BYTE sc_WBorTop
  66.     BYTE sc_WBorLeft
  67.     BYTE sc_WBorRight
  68.     BYTE sc_WBorBottom
  69.  
  70.     BYTE sc_KludgeFill00    ; This is strictly for word-alignment 
  71.  
  72.     ; the display data structures for this Screen
  73.     APTR sc_Font            ; this screen's default font
  74.     STRUCT sc_ViewPort,vp_SIZEOF    ; describing the Screen's display
  75.     STRUCT sc_RastPort,rp_SIZEOF    ; describing Screen rendering
  76.     STRUCT sc_BitMap,bm_SIZEOF        ; auxiliary graphexcess baggage
  77.     STRUCT sc_LayerInfo,li_SIZEOF    ; each screen gets a LayerInfo
  78.  
  79.     ; You supply a linked-list of Gadgets for your Screen.
  80.     ; This list DOES NOT include system Gadgets.  You get the standard
  81.     ; system Screen Gadgets by default
  82.     APTR sc_FirstGadget
  83.  
  84.     BYTE sc_DetailPen        ; for bar/border/gadget rendering
  85.     BYTE sc_BlockPen        ; for bar/border/gadget rendering
  86.  
  87.     ; the following variable(s) are maintained by Intuition to support the
  88.     ; DisplayBeep() color flashing technique
  89.     WORD sc_SaveColor0
  90.  
  91.     ; This layer is for the Screen and Menu bars
  92.     APTR sc_BarLayer        ; was "BarLayer"
  93.  
  94.     APTR sc_ExtData
  95.  
  96.     APTR sc_UserData        ; general-purpose pointer to User data 
  97.  
  98.     LABEL sc_SIZEOF
  99.  
  100.  
  101. ; --- FLAGS SET BY INTUITION -------------------------------------------------
  102. ; The SCREENTYPE bits are reserved for describing various Screen types
  103. ; available under Intuition.  
  104. SCREENTYPE    EQU    $000F    ; all the screens types available 
  105. ; --- the definitions for the Screen Type ------------------------------------
  106. WBENCHSCREEN    EQU    $0001    ; Ta Da!  The Workbench
  107. CUSTOMSCREEN    EQU    $000F    ; for that special look
  108.  
  109. SHOWTITLE    EQU    $0010    ; this gets set by a call to ShowTitle() 
  110.  
  111. BEEPING        EQU    $0020    ; set when Screen is beeping 
  112.  
  113. CUSTOMBITMAP    EQU    $0040    ; if you are supplying your own BitMap
  114.  
  115. SCREENBEHIND    EQU    $0080    ; if you want your screen to open behind
  116.                 ; already open screens
  117.  
  118. SCREENQUIET    EQU    $0100    ; if you do not want Intuition to render
  119.                 ; into your screen (gadgets, title)
  120.  
  121. STDSCREENHEIGHT EQU    -1    ; supply in NewScreen.Height
  122.  
  123. ; ======================================================================== 
  124. ; === NewScreen ========================================================== 
  125. ; ======================================================================== 
  126.  STRUCTURE NewScreen,0
  127.  
  128.     WORD ns_LeftEdge        ; initial Screen dimensions
  129.     WORD ns_TopEdge        ; initial Screen dimensions
  130.     WORD ns_Width        ; initial Screen dimensions
  131.     WORD ns_Height        ; initial Screen dimensions
  132.     WORD ns_Depth        ; initial Screen dimensions
  133.  
  134.     BYTE ns_DetailPen        ; default rendering pens (for Windows too)
  135.     BYTE ns_BlockPen        ; default rendering pens (for Windows too)
  136.  
  137.     WORD ns_ViewModes        ; display "modes" for this Screen
  138.  
  139.     WORD ns_Type        ; Intuition Screen Type specifier
  140.  
  141.     APTR ns_Font        ; default font for Screen and Windows
  142.  
  143.     APTR ns_DefaultTitle    ; Title when Window doesn't care
  144.  
  145.     APTR ns_Gadgets        ; Your own initial Screen Gadgets
  146.  
  147.     ; if you are opening a CUSTOMSCREEN and already have a BitMap 
  148.     ; that you want used for your Screen, you set the flags CUSTOMBITMAP in
  149.     ; the Types variable and you set this variable to point to your BitMap
  150.     ; structure.  The structure will be copied into your Screen structure,
  151.     ; after which you may discard your own BitMap if you want
  152.     APTR ns_CustomBitMap
  153.  
  154.  LABEL      ns_SIZEOF
  155.  
  156.     ENDC    ; INTUITION_SCREENS_I
  157.